package com.xsherl.leetcode.solution;

import com.xsherl.leetcode.utils.PrintUtils;

public class Sqrtx {

    /**
     * 牛顿开平方公式 X（n+1）=（Xn+a/Xn）/2，
     * 先定义 x(1) = a / 2, 然后不断逼近值，直到误差小于1为止
     */
    public int mySqrt(int x) {
        double m = x / 2.0, n = x;
        while (n - m >= 0.1){
            n = m;
            m = (m + x / m) / 2;
        }
        return (int)m;
    }

    public static void main(String[] args) {
        int i = new Sqrtx().mySqrt(1);
        System.out.println(i);
    }

}
